cmake_minimum_required(VERSION 3.7...3.18)

if(${CMAKE_VERSION} VERSION_LESS 3.12)
    cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
endif()

project(sudoku VERSION 0.1
  DESCRIPTION "Constraint Logic Programming Sudoku solver"
  LANGUAGES CXX)

add_library(clp lib/clp/clp.hpp)
add_library(util lib/util/util.hpp)

set_target_properties(clp util PROPERTIES LINKER_LANGUAGE CXX)

add_executable(sudoku src/sudoku.cpp)

target_include_directories(sudoku PRIVATE lib)
target_compile_features(sudoku PUBLIC cxx_std_20)
